비트 필드
비트 필드(bit field)는 컴퓨터 프로그래밍에 쓰이는 자료 구조이다. 수많은 인접 컴퓨터 메모리 위치들로 이루어져 있으며 일련의 비트를 보유하기 위해 할당되며 하나의 비트나 여러 비트의 그룹의 주소를 참조할 수 있도록 저장된다.[1][2] 비트 필드는 알려진 고정 비트 너비의 정수형을 표현하기 위해 흔히 사용된다.
필드 안의 개개의 비트의 의미는 프로그래머에 의해 결정된다. 이를테면 비트 필드의 첫 비트(기본 주소에 위치)는 비트 필드와 관련된 특정 속성의 상태를 결정하기 위해 사용되기도 한다.[3]
마이크로프로세서와 기타 로직 장치 안에서 "플래그"(flag)라는 이름의 비트 필드의 모음들은 특정 동작의 즉각적인 상태나 결과를 제어하거나 인지하기 위해 흔히 사용된다.[4] 마이크로프로세서들은 일반적으로 이러한 플래그를 구성하는 상태 레지스터가 있으며 이를테면 산술 오버플로와 같이 다양한 동작 후 조건들을 지시하기 위해 사용된다. 플래그들은 조건 점프 명령을 처리하는 등의 차기 동작을 결정하기 위해 읽고 사용할 수 있다. 이를테면 x86 어셈블리어에서 je(Jump If Equal) 명령은 이전의 일부 동작에 의해 Z(제로) 플래그가 설정되는 경우 점프를 하도록 만든다.
비트 필드는 비트 배열과 구별되는데 후자의 경우 정수에 의해 색인화되는 커다란 비트 모임을 저장하기 위해 사용되며 언어에 의해 지원되는 정수형보다 종종 더 큰 편이다.[5] 한편 비트 필드는 일반적으로 기계의 워드 안에 들어맞으며,[3] 비트의 표기는 비트의 숫자 색인과는 독립적이다.[2]
같이 보기
[편집]각주
[편집]- ↑ Penn Brumm; Don Brumm (August 1988). 《80386 Assembly Language: A Complete Tutorial and Subroutine Library》. McGraw-Hill School Education Group. 606쪽. ISBN 978-0-8306-9047-3.
- ↑ 가 나 Steve Oualline (1997). 《Practical C Programming》. "O'Reilly Media, Inc.". 403–쪽. ISBN 978-1-56592-306-5.
- ↑ 가 나 Michael A. Miller (January 1992). 《The 68000 Microprocessor Family: Architecture, Programming, and Applications》. Merrill. 323쪽. ISBN 978-0-02-381560-7.
- ↑ Ian Griffiths; Matthew Adams; Jesse Liberty (2010년 7월 30일). 《Programming C# 4.0: Building Windows, Web, and RIA Applications for the .NET 4.0 Framework》. "O'Reilly Media, Inc.". 81–쪽. ISBN 978-1-4493-9972-6.
- ↑ 《Data Structures》. PediaPress. 104–쪽. GGKEY:JHA7HYXLECN.